#include <stdio.h>
#include <ctype.h>
//
// int main()
// {
//     char arr[]={"Hello Gitee!"};
//     int sz=sizeof(arr)/sizeof(arr[0]);
//     int i=0;
//     for(i=0;i<sz-1;i++)
//     {
//         if(islower(arr[i]))
//         {
//             arr[i]-=32;
//         }
//     }
//     printf("%s\n",arr);
//     return 0;
// }

//################
//模拟实现strlen()函数功能
//mod1 迭代循环实现
// int my_strlen(const char* str,int sz)
// {
//     int count=0;
//     int i=0;
//     for(;i<sz-1;i++)
//     {
//         if(*str != '\0')
//         count++;
//     }
//     return count;
// }
// int main()
// {
//     char arr[]="abc def";
//     int sz=sizeof(arr)/sizeof(arr[0]);
//     int ret=my_strlen(arr,sz);
//     printf("%d\n",ret);
//     return 0;
// }
//mod 2 指针-指针实现
// int main()
// {
//     char arr[]="abcdef";
//     int sz=sizeof(arr)/sizeof(arr[0]);
//     char *p1=arr;
//     char *p2=&arr[sz-1];
//     int ret=0;
//     ret=(int)(p2-p1);
//     printf("%d\n",ret);
//     return 0;
// }
//mod 2 指针——指针计算
// int my_strlen(const char*p)
// {
//     //寻找结束空字符
//     const char* end=p;
//     while(*end)
//     {
//         end++;
//     }
    
//     return end-p;
// }
// int main()
// {
//     char arr[]="abcdefg";
//     printf("%d\n",my_strlen(arr));
//     return 0;
// }
//####################
//mod 4 递归实现
// int my_strlen(char *arr)
// {
//     if(*arr)
//     return 1+ my_strlen(arr+1);
//     else
//     return 0;
// }
// int main()
// {
//     char arr[]="abcdef";
//     int ret=my_strlen(arr);
//     printf("%d\n",ret);
//     return 0;
// }

